/*
 * Copyright (c) 2017. 深圳掌控网络有限公司. All rights reserved.
 */

package com.fenxiangle.yueding.feature.mine.contract;

import com.fenxiangle.yueding.entity.bo.OrderBo;
import com.fenxiangle.yueding.entity.bo.PageBo;
import com.fenxiangle.yueding.entity.bo.PublishDemandBo;
import com.fenxiangle.yueding.entity.bo.TeamBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;

import java.util.List;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2018/7/11 9:06
 */
public interface TeamContract {

    interface Model {


        Observable<OrderBo> userStatus(PageBo pageBo);
        Observable<OrderBo> submitUser(PageBo pageBo);
        Observable<List<TeamBo>> getTeamList(PageBo pageBo);
        Observable<List<TeamBo>> getUserList(PageBo pageBo);

    }

    interface View extends BaseView {

        void showUserStatusSucc(OrderBo orderBo);

        void showSubmitUserSucc(OrderBo orderBo);

        void showTeamListSuccess(List<TeamBo> workBoPageData);

        void showUserListSuccess(List<TeamBo> workBoPageData);

        void showTeamListError(String error);

        void showTeamListMoreSuccess(List<TeamBo> msg);

        void showTeamListMoreError(String msg);

        void showTeamListEmpty();
    }


    interface Presenter extends BasePresenter {

        void getTeamList(
                int pageIndex,
                int pageSize,
                String userUid
        );
        void submitUser(String orderId);

        void userStatus(String orderId,String userUid,int grabStatus);

        void getUserList( int pageIndex,
                          int pageSize,
                          String userUid,String orderId,int type);

        void getTeamListMore(

                int pageIndex,
                int pageSize,
                String userUid
        );
    }
}
